<template>
	<view class="wrap">
		<view class="pic">
			<image src="https://ya30images.hbwlife.com/wxmp/subMessage.png" mode=""></image>
		</view>
		<view class="tips">
			订阅消息可及时接收审核结果
		</view>
		<view class="btn" @click="fnMessage">
			订阅消息
		</view>
	</view>
</template>



<script>
	import {
		request,
		requestData
	} from '@/utils/http.js'
	export default {
		data() {
			return {

			}
		},
		onLoad(option) {},
		onShow() {},
		onUnload() {

		},
		methods: {
			// fnMessage() {
			// 	let id = 'dyUG7077ENKvbD3HuJSNzqIcDpPPvtla7NCvrZMfCqE'
			// 	wx.getSetting({
			// 		withSubscriptions: true,
			// 		success(res) {
			// 			console.log(res)
			// 			if (res.subscriptionsSetting.mainSwitch) { // 用户打开了订阅消息总开关
			// 				if (res.subscriptionsSetting.itemSettings) { // 用户同意总是保持是否推送消息的选择, 这里表示以后不会再拉起推送消息的授权
			// 					let moIdState = res.subscriptionsSetting.itemSettings[id]; // 用户同意的消息模板id
			// 					if (moIdState === 'accept') {
			// 						// wx.requestSubscribeMessage({
			// 						// 	tmplIds: ['LGpkXsQ396mr-xxxxxxxxxx6Ovd5w4v_eez0pYoQego'],
			// 						// 	success(res) {
			// 						// 		wx.showToast({
			// 						// 			title: '不会再拉起推送消息的授权,订阅成功',
			// 						// 		})
			// 						// 	},
			// 						// })
			// 						this.sub()
			// 					} else if (moIdState === 'reject') {
			// 						console.log('拒绝了消息推送');
			// 						wx.showToast({
			// 							title: '拒绝了消息推送',
			// 						});
			// 						wx.openSetting({
			// 							withSubscriptions: true,
			// 						});
			// 					} else if (moIdState === 'ban') {
			// 						wx.showToast({
			// 							title: '已被后台封禁',
			// 						})
			// 					}
			// 				} else {
			// 					wx.requestSubscribeMessage({
			// 						tmplIds: ['LGpkXsQ396mr-xxxxxxxxxx6Ovd5w4v_eez0pYoQego'],
			// 						success(res) {
			// 							wx.showToast({
			// 								title: '订阅成功',
			// 							})
			// 						},
			// 					})
			// 				}
			// 			} else {
			// 				wx.openSetting({
			// 					withSubscriptions: true,
			// 				})
			// 			}
			// 		}
			// 	})
			// },
			// sub() {
			// 	wx.requestSubscribeMessage({
			// 		tmplIds: ['dyUG7077ENKvbD3HuJSNzqIcDpPPvtla7NCvrZMfCqE'], //消息模板ID
			// 		success(res) {
			// 			//用户同意订阅消息
			// 			console.log('用户同意订阅消息', res)
			// 			if (res.errMsg === 'requestSubscribeMessage:ok') {
			// 				if (res['dyUG7077ENKvbD3HuJSNzqIcDpPPvtla7NCvrZMfCqE'] === 'accept') {
			// 					uni.showToast({
			// 						title: '订阅成功',
			// 						icon: 'none',
			// 					})
			// 					setTimeout(() => {
			// 						uni.switchTab({
			// 							url: '/pages/my/index',
			// 						})
			// 					}, 2000)
			// 				} else if (res['dyUG7077ENKvbD3HuJSNzqIcDpPPvtla7NCvrZMfCqE'] === 'reject') {
			// 					uni.showToast({
			// 						title: '订阅失败',
			// 						icon: 'none',
			// 					})
			// 				}
			// 			}
			// 		},
			// 		fail(err) {
			// 			//用户拒绝订阅消息
			// 			console.log('用户拒绝订阅消息', err)
			// 			uni.showToast({
			// 				title: '订阅失败',
			// 				icon: 'none',
			// 			})
			// 		},
			// 	})
			// },
			fnMessage() {
				let that = this;
				const tmplId = 'dyUG7077ENKvbD3HuJSNzqIcDpPPvtla7NCvrZMfCqE'; //模板id
				wx.getSetting({
					withSubscriptions: true,
					success(res) {
						if (res.subscriptionsSetting && res.subscriptionsSetting.mainSwitch) {
							if (res.subscriptionsSetting.itemSettings && res.subscriptionsSetting.itemSettings[
									tmplId]) {
								let item = res.subscriptionsSetting.itemSettings[tmplId];
								if (item == 'reject') {
									console.log('提示：用户拒绝订阅消息');
									that.followComfirm(tmplId);
								} else if (item == 'accept') {
									console.log('提示：您已经开启订阅消息');
								} else if (item == 'ban') {
									console.log('提示：您已经被后台封禁');
								}
							} else {
								console.log('提示：用户没有勾选订阅消息或者没有状态');
								that.followComfirm(tmplId);
							}
						} else {
							console.log('提示：订阅消息主开关没打开');
							that.followComfirm(tmplId);
						}
					}
				});
			},
			// 订阅信息
			followComfirm(tmplId) {
				wx.showModal({
					title: '订阅消息',
					content: '请同意我们给您推送信息，以便接受审核结果的提醒。',
					success: (res) => {
						if (res.confirm) {
							wx.requestSubscribeMessage({
								tmplIds: [tmplId],
								success: (res) => {
									console.log(res)
									if (res[tmplId] === 'accept') {
										wx.showToast({
											title: '订阅成功！',
											icon: 'success'
										});

									} else if (res[tmplId] == 'reject') {
										//引导用户，手动引导用户点击按钮，去设置页开启，## Modals是自定义组件
										wx.showModal({
											title: '订阅消息',
											content: '您当前拒绝接受消息通知，是否去开启',
											confirmText: '开启授权',
											confirmColor: '#345391',
											cancelText: '仍然拒绝',
											cancelColor: '#999999',
											success(res) {
												if (res.confirm) {
													console.log('用户点击确定');
													wx.openSetting({
														success(res) {
															console.log(res
																.authSetting);
														},
														fail(err) {
															//失败
															console.log(err);
														}
													});
												} else if (res.cancel) {
													console.log('用户点击取消');
												}
											}
										});
									}
								},
								fail(err) {
									//失败
									console.log(err);
								}
							});
						}
					}
				});
			}
		}
	}
</script>

<style scoped>
	.wrap {
		width: 100%;
		height: 100vh;
		box-sizing: border-box;
		background: #fff;
		font-size: 32rpx;
		display: flex;
		flex-flow: column;
		align-items: center;
	}

	.pic {
		width: 160rpx;
		height: 160rpx;
		margin-top: 20%;
	}

	.pic image {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100%;
	}

	.tips {
		width: 90%;
		font-family: 28rpx;
		display: flex;
		justify-content: center;
		align-items: center;
		color: #676a6d;
		margin-top: 160rpx;

	}

	.btn {
		background: linear-gradient(to right, #c8a357, #fbde94, #c8a357);
		width: 94%;
		height: 80rpx;
		line-height: 80rpx;
		margin: 0 auto;
		margin-top: 60rpx;
		border-radius: 16rpx;
		color: #333;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	::v-deep .u-button--primary {
		border: none !important;
		// background: linear-gradient(to right, #d5ad57, #cfb58a);
		background-color: $global-color-golden;
	}
</style>